package com.flea.hclv.service;

import com.flea.hclv.model.entity.HResourceRelation;
import com.flea.hclv.model.entity.HVisitor;
import com.flea.hclv.util.ServerResponse;
import com.flea.system.bean.FleaPage;
import com.flea.system.entity.OrgDept;

import java.util.List;

public interface HVisitorService {
    ServerResponse<String> saveOrUpdate(String userId, OrgDept currentUserDept, HVisitor visitor, List<HResourceRelation> hResourceRelations) throws Exception;

    ServerResponse<FleaPage<HVisitor>> selectAll(OrgDept currentUserDept, int curPage, int pageSize, String zhName, String enName);

    ServerResponse<String> deleteByIds(String userId, List<String> idList);

    ServerResponse<List<HVisitor>> selectByName(OrgDept currentUserDept, String visitorName);

    ServerResponse<List<HResourceRelation>> selectVisitorImage(String visitorId);

    ServerResponse<HVisitor> save(String userId, OrgDept currentUserDept, HVisitor visitor, HResourceRelation hResourceRelation) throws Exception;

    ServerResponse<FleaPage<HVisitor>> selectByDeptId(OrgDept currentUserDept, int curPage, int pageSize, String zhName, String enName);

    ServerResponse<FleaPage<HVisitor>> selectByDept(OrgDept currentUserDept, String zhName, int curPage, int pageSize);

    ServerResponse<List<HVisitor>> selectByIdsList(String idList);

    ServerResponse<HVisitor> selectByVisitorId(String visitorId);
}
